Telegram Group & Telegram Channel
🖥Hexi — это лёгкая, заголовочная библиотека на C++23, предназначенная для безопасной обработки бинарных данных из различных источников, особенно сетевых.

Библиотека предоставляет два ключевых класса: buffer_adaptor и binary_stream.

buffer_adaptor служит обёрткой для контейнеров, обеспечивая низкоуровневые операции чтения и записи, а binary_stream использует этот адаптер для выполнения операций сериализации и десериализации.

Hexi поддерживает работу с различными стандартными контейнерами, такими как std::array, std::span, std::string_view, std::string и std::vector, при условии, что их типы значений являются байтовыми (например, char, std::byte, uint8_t). ​


Для обеспечения безопасности при работе с недоверенными данными, binary_stream выполняет проверку границ, предотвращая чтение за пределами доступных данных.

По умолчанию, при возникновении ошибки выбрасываются исключения, однако их можно отключить, указав шаблонный аргумент no_throw. Состояние потока можно проверить с помощью метода state() или оператором приведения к bool. ​
Безопасность: Hexi выполняет проверку границ при чтении данных, предотвращая выход за пределы буфера. По умолчанию при ошибках выбрасываются исключения (hexi::buffer_underrun, hexi::stream_read_limit), но их можно отключить, указав шаблонный аргумент no_throw

🔗 Github
Please open Telegram to view this post
VIEW IN TELEGRAM



tg-me.com/cpluspluc/1012
Create:
Last Update:

🖥Hexi — это лёгкая, заголовочная библиотека на C++23, предназначенная для безопасной обработки бинарных данных из различных источников, особенно сетевых.

Библиотека предоставляет два ключевых класса: buffer_adaptor и binary_stream.

buffer_adaptor служит обёрткой для контейнеров, обеспечивая низкоуровневые операции чтения и записи, а binary_stream использует этот адаптер для выполнения операций сериализации и десериализации.

Hexi поддерживает работу с различными стандартными контейнерами, такими как std::array, std::span, std::string_view, std::string и std::vector, при условии, что их типы значений являются байтовыми (например, char, std::byte, uint8_t). ​


Для обеспечения безопасности при работе с недоверенными данными, binary_stream выполняет проверку границ, предотвращая чтение за пределами доступных данных.

По умолчанию, при возникновении ошибки выбрасываются исключения, однако их можно отключить, указав шаблонный аргумент no_throw. Состояние потока можно проверить с помощью метода state() или оператором приведения к bool. ​
Безопасность: Hexi выполняет проверку границ при чтении данных, предотвращая выход за пределы буфера. По умолчанию при ошибках выбрасываются исключения (hexi::buffer_underrun, hexi::stream_read_limit), но их можно отключить, указав шаблонный аргумент no_throw

🔗 Github

BY C++ Academy




Share with your friend now:
tg-me.com/cpluspluc/1012

View MORE
Open in Telegram


C Academy Telegram | DID YOU KNOW?

Date: |

Telegram announces Search Filters

With the help of the Search Filters option, users can now filter search results by type. They can do that by using the new tabs: Media, Links, Files and others. Searches can be done based on the particular time period like by typing in the date or even “Yesterday”. If users type in the name of a person, group, channel or bot, an extra filter will be applied to the searches.

The S&P 500 slumped 1.8% on Monday and Tuesday, thanks to China Evergrande, the Chinese property company that looks like it is ready to default on its more-than $300 billion in debt. Cries of the next Lehman Brothers—or maybe the next Silverado?—echoed through the canyons of Wall Street as investors prepared for the worst.

C Academy from it


Telegram C++ Academy
FROM USA